﻿using System.IO;

namespace MagicKey.Interfaces
{
    public interface IFileAccess
    {
        /// <summary>
        /// Load a file from a path
        /// </summary>
        /// <param name="path">absolute path of file to read</param>
        /// <returns></returns>
        ///
        bool LoadFile(string path);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="uri"></param>
        /// <returns></returns>
        bool Exists(string uri);

        /// <summary>
        /// Upload a File at a path
        /// </summary>
        ///  <param name="path">absolute path of file to upload</param>
        ///<param name="userId">id of user who upload a file</param>
        /// <returns>a path where a file was stored</returns>
        string UploadFile(string path, int userId);

        /// <summary>
        /// Delete a File at a path
        /// </summary>
        /// <param name="path">absolute path of file to delete</param>
        /// <param name="userId">id of user who want to delete a file</param>
        /// <returns>true if a file was deleted else false</returns>
        bool DeleteFile(string path, int userId);

    }
}